import variables from '@/styles/element-variables.scss'
import defaultSettings from '@/settings'
import {getMenus,} from '@/api/setting'

const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings

const state = {
  theme: variables.theme,
  showSettings: showSettings,
  tagsView: tagsView,
  fixedHeader: fixedHeader,
  sidebarLogo: sidebarLogo,
  menus: [],
}

const mutations = {
  CHANGE_SETTING: (state, { key, value }) => {
    // eslint-disable-next-line no-prototype-builtins
    if (state.hasOwnProperty(key)) {
      state[key] = value
    }
  },
  SET_MENUS: (state, data) => {
    state.menus = data
  }
}

const actions = {
  changeSetting({ commit }, data) {
    commit('CHANGE_SETTING', data)
  },
  getMenus( {commit,params}){
    return new Promise((resolve,reject) =>{// 
      getMenus().then(response => {
        console.log('树形结构',response)
        commit('SET_MENUS', response.result)
        resolve()
      }).catch(()=>{
        reject(error)
      })
      
    })
  },
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

